userManage = {};

userManage._path = '/action/userManage';

/**
 * @param {function|Object} callback callback function or options object
 */
userManage.test = function(callback) {
  return ajaxUtils.requestExecute(userManage._path, 'test', arguments, false);
};

/**
 * @param {function|Object} callback callback function or options object
 */
userManage.getUserInfo = function(callback) {
  return ajaxUtils.requestExecute(userManage._path, 'getUserInfo', arguments, false);
};

/**
 * @param {function|Object} callback callback function or options object
 */
userManage.leave = function(callback) {
  return ajaxUtils.requestExecute(userManage._path, 'leave', arguments, false);
};

/**
 * @param {class java.lang.String} p0 a param
 * @param {class java.lang.String} p1 a param
 * @param {function|Object} callback callback function or options object
 */
userManage.editUsername = function(userId, username, callback) {
  return ajaxUtils.requestExecute(userManage._path, 'editUsername', arguments, false);
};

/**
 * @param {class java.lang.String} p0 a param
 * @param {class java.lang.String} p1 a param
 * @param {class java.lang.String} p2 a param
 * @param {class java.lang.String} p3 a param
 * @param {function|Object} callback callback function or options object
 */
userManage.userRegister = function(userId, username, email, password, callback) {
  return ajaxUtils.requestExecute(userManage._path, 'userRegister', arguments, false);
};

/**
 * @param {class com.gjs.freechat.server.component.bean.UserInfo} p0 a param
 * @param {function|Object} callback callback function or options object
 */
userManage.updateUserInfo = function(userInfo, callback) {
  return ajaxUtils.requestExecute(userManage._path, 'updateUserInfo', arguments, true);
};

/**
 * @param {class java.lang.String} p0 a param
 * @param {class java.lang.String} p1 a param
 * @param {function|Object} callback callback function or options object
 */
userManage.editPassword = function(userId, newPassword, callback) {
  return ajaxUtils.requestExecute(userManage._path, 'editPassword', arguments, false);
};


/**
 * @param {class java.lang.String} p0 a param
 * @param {class java.lang.String} p1 a param
 * @param {function|Object} callback callback function or options object
 */
userManage.login = function(email, password, callback) {
	return ajaxUtils.requestExecute(userManage._path, 'login', arguments, false);
};

/**
 * @param {function|Object} callback callback function or options object
 */
//userManage.login = function(callback) {
//	console.log(this);
//	return this.login(null, null, callback);
//};

/**
 * @param {function|Object} callback callback function or options object
 */
userManage.logout = function(callback) {
  return ajaxUtils.requestExecute(userManage._path, 'logout', arguments, false);
};


